package paneles

import org.apache.wicket.markup.html.basic.Label
import org.apache.wicket.markup.html.panel.Panel
import org.uqbar.wicket.xtend.WicketExtensionFactoryMethods
import org.uqbar.wicket.xtend.XAttributeModifier
import org.uqbar.wicket.xtend.XLink
import modelo.Jugador
import org.uqbar.wicket.xtend.XListView
import java.util.List
import modelo.Terreno
import modelo.Jardin
import java.util.ArrayList

class PanelJardin extends Panel {
	extension WicketExtensionFactoryMethods = new WicketExtensionFactoryMethods
	Panel yo

	new(String id, Jugador jugador) {
		super(id)
		yo=this
		this.defaultModel = jugador.asCompoundModel
		this.agregaComponetes(id, jugador)
		
		var botonera = new Botonera("botonera", jugador, this)
		this.addChild(botonera)
	}

	def void agregaComponetes(String id, Jugador jugador) {
		this.agregarTabla(jugador)
	}
//List<Terreno> jardin
	def agregarTabla(Jugador jugador) {
		val listView = new XListView("jardin")
		listView.model = jugador.jardin.filas.asCompoundModel
		listView.populateItem = [ item |
			
			item.model = item.modelObject.asCompoundModel
			item.addChild(new Label("nombre"))
			item.addChild(new Label("fila"))
			
			item.addChild(
			new XLink("atacar") => [
				onClick = [|
					jugador.filaSeleccionada = item.modelObject
					yo.replaceWith(new AtackPanel("jardin", jugador))
				]
			])
			item.addChild(
			new XLink("plantar") => [
				onClick = [|
					jugador.filaSeleccionada = item.modelObject
					this.replaceWith(new PanelPlantar("jardin",jugador))
				]
			])
			
		]
		this.addChild(listView);
	}

}
